from  logging import handlers

# handlers.RotatingFileHandler
# handlers.TimedRotatingFileHandler

import logging
#第一步:
#创建一个日志收集器
logger = logging. getLogger("nmb-py37")
#第二步:
#设自定义要收集的日志级别、自定义日志格式、自定义输出渠道
#设自定义要收集的日志级别
logger.setLevel(logging.INFO)
#自定义日志格式(Formatter) 时间、收集器名字、日志级别、文件名字、行号、函数的名字、输出的名字
fmt_str = "%(asctime)s %(name)s %(levelname)s %(filename)s %(lineno)d %(message)s"
#实例化一个日志格式类
formatter = logging.Formatter(fmt_str)

# 实例化渠道(Handle).
# 控制台(StreamHandle) 创建handle，输出到控制台
handle1 = logging.StreamHandler()
#设置渠道当中的日志显示格式  handle的控制台用刚才创建的formatter日志格式
handle1.setFormatter(formatter)
#将渠道与日志收集器绑定起来
logger.addHandler(handle1)



# 创建一个日志文件，输出到文件
handle2 = handlers.RotatingFileHandler("打印的日志文件", maxBytes=1, backupCount=2, encoding="utf-8")
# 绑定日志文件的格式
handle2.setFormatter(formatter)
# 将渠道与收集器绑定
logger.addHandler(handle2)

logger.info("hello, logging! ! ")
logger.warning("hello, warning! !")
logger.error("输出的Eorr格式的文件")
logger.info("hello, logging! ! ")
logger.warning("hello, warning! !")
logger.error("输出的Eorr格式的文件")
logger.info("hello, logging! ! ")
logger.warning("hello, warning! !")
logger.error("输出的Eorr格式的文件")